package com.example.demo.config;

//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
//import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
//
//@Configuration
//public class CorsConfig implements WebMvcConfigurer {
//
//    @Override
//    public void addCorsMappings(CorsRegistry registry) {
//        registry
//                .addMapping("/**"); // 匹配所有接口
////                .allowedOrigins("http://localhost:5000"); // 允许的域名（需指定完整协议和端口）
////                .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") // 允许的 HTTP 方法
////                .allowedHeaders("*") // 允许的请求头
////                .allowCredentials(true) // 是否允许携带凭证（如 Cookie、Token）
////                .maxAge(3600); // 预检请求的有效期（秒）
//    }
//}


import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;


@Configuration
public class CorsConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowedMethods("*")
                .allowedHeaders("t-token");
// 没有 allowedHeaders 配置
        // 没有 allowedHeaders 配置
    }
}


//@Configuration
//public class CorsConfig {
//
//    @Bean
//    public CorsFilter corsFilter() {
//        // 创建CORS配置对象
//        CorsConfiguration config = new CorsConfiguration();
//
//        // 允许的前端域名（可替换为具体域名，如"https://example.com"）
////        config.addAllowedOriginPattern("http://localhost:5000"); // 允许所有域名进行跨域调用
//        config.setAllowCredentials(false);    // 允许携带凭证（如Cookie、认证信息）
//
//        // 允许的请求方法
//        config.addAllowedMethod("*"); // 允许所有方法（GET、POST等）
//
//        // 允许的请求头
////        config.addAllowedHeader("T-Token"); // 允许所有请求头
//
//
//        // 设置路径规则
//        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
//        source.registerCorsConfiguration("/**", config); // 对所有接口都有效
//
//        return new CorsFilter(source);
//    }
//}

//@Configuration
//public class CorsConfig implements WebMvcConfigurer {
//
//    @Bean
//    public CorsFilter corsFilter() {
//        CorsConfiguration config = new CorsConfiguration();
//
//        // 允许的域名，若要允许所有域名，可使用 "*"，但在生产环境中不建议这么做
//        config.addAllowedOriginPattern("*");
//
//        // 允许的 HTTP 方法
//        config.addAllowedMethod("*");
//
//        // 允许的请求头
//        config.addAllowedHeader("jh-token");
////        config.addAllowedHeader("Authorization");
////        config.addAllowedHeader("Content-Type")
//
//        // 是否允许携带凭证（如 cookie）
//        config.setAllowCredentials(true);
//
//        // 设置路径模式
//        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
//        source.registerCorsConfiguration("/**", config);
//
//        return new CorsFilter(source);
//    }
//}